//***********************************************************************
//*                                                                     *
//*                  Copyright (c) 1985-2022, AMI.                      *
//*                                                                     *
//*      All rights reserved. Subject to AMI licensing agreement.       *
//*                                                                     *
//***********************************************************************
/**@file
 * This file contains the Smbus Handling functions
 */

#ifndef SMBUS_H_
#define SMBUS_H_

#include <stdlib.h>
#include <stddef.h>
#include <string.h>

/**
 * Smbus Interface
 */
struct SmbusInterface {
	/**
	 * Function to Smbus Enable.
	 *
	 * @param  Smbus Interface
	 *
	 * @return 0 
	 */
	int (*SmbusRead ) ();
	
	/**
	 * Function to Smbus Disable.
	 *
	 * @param  Smbus Interface
	 *
	 * @return 0 
	 */
	int (*SmbusWrite ) ();
};

int SmbusInit (struct SmbusInterface *Smbus);

/**
 * Error codes that can be generated by a SMBUS.
 */
enum {
	SMBUS_INVALID_ARGUMENT = 0x00		/**< Input parameter is null or not valid. */
};
#endif /* Smbus_H_ */
